Content distribution networks (“CDN's”) provide a wide variety of electronic content items, such as music, video, or games, to users located at various locations. The users typically download the electronic content items to a client device, such as a computer, portable digital assistant (PDA), or cell phone, and then use a local copy of the downloaded content. In many cases, the client devices download the content items from a central server. However, downloading the content items may take a long time for client devices that are located far away from the central server.
One solution to the problem of long download times in a CDN is to distribute the content items to cache servers that are located more closely to the client devices. By doing so, the client devices can download the content items from the cache servers, rather than the central server. Even when the client devices are geographically dispersed over a large area, this approach can reduce the download times for client devices by providing the client devices with sources for downloading the content items that are closer than the central server.
However, the cache servers may not always have local copies of the content items. As a result, the client devices will not always be able to download requested content items from the closest cache server. When the requested content item is not available from the closest cache server, this problem can be partially solved by tracking the content items that are available from the cache servers and redirecting the client devices to cache servers that have local copies of the requested content items. However, tracking availability of content items on cache servers can present difficult problems. For example, tracking availability of content items can require substantial overhead on the cache servers, central server, and/or client devices. Therefore, systems and methods are needed to overcome these limitations of traditional content distribution.